- title: "External status check API breaking changes"
  announcement_milestone: "14.8"
  removal_milestone: "15.0"
  breaking_change: true
  reporter: sam.white
  body: |  # Do not modify this line, instead modify the lines below.
    The [external status check API](https://docs.gitlab.com/ee/api/status_checks.html) was originally implemented to
    support pass-by-default requests to mark a status check as passing. Pass-by-default requests are now deprecated.
    Specifically, the following are deprecated:

    - Requests that do not contain the `status` field.
    - Requests that have the `status` field set to `approved`.

    Beginning in GitLab 15.0, status checks will only be updated to a passing state if the `status` field is both present
    and set to `passed`. Requests that:

    - Do not contain the `status` field will be rejected with a `422` error. For more information, see [the relevant issue](https://gitlab.com/gitlab-org/gitlab/-/issues/338827).
    - Contain any value other than `passed` will cause the status check to fail. For more information, see [the relevant issue](https://gitlab.com/gitlab-org/gitlab/-/issues/339039).

    To align with this change, API calls to list external status checks will also return the value of `passed` rather than
    `approved` for status checks that have passed.
# The following items are not published on the docs page, but may be used in the future.
  stage: "Manage"
